// *******************************************************************************************************
// # リスト検索画面
//   ・フッター検索ボタン
//   ・選択ボタン
// *******************************************************************************************************

(function(win, doc) {

	/* フッター検索ボタン
	----------------------------------- */
	function checkSelectBtn() {
		var $searchBtn = $('#fixedSearchBtn'),
			$modalBtnParent = $('.mod_btn_append'),
			$modalBtn = $('.mod_btn_append a'),
			$copyright = $('#siteCopyright'),
			$searchInput = $('.box_expand_search_list input'),
			isCheck = false;

		$searchInput.each(function(i){
			if ($(this).prop('checked')) {
				isCheck = true;
				return false;
			};
		});
		if (isCheck) {
			$searchBtn.show();
			$copyright.css('margin-bottom', 70);
			$modalBtn.addClass('mod_btn_all_pink');
			$modalBtnParent.removeClass('mod_btn_append_off');
		} else {
			$searchBtn.hide();
			$copyright.css('margin-bottom', 0);
			$modalBtn.removeClass('mod_btn_all_pink');
			$modalBtnParent.addClass('mod_btn_append_off');
		};
	}

	/* 選択ボタン
	----------------------------------- */
	function setSelectBtn() {
		var $searchBox = $('.box_expand_search_list .box_expand_inner');

		$searchBox.find('.list_search').each(function(i){
			$(this).find('input').on('click', function(e){
				checkSelectBtn();
			});
		});
		$searchBox.find('.box_station_select').each(function(i){
			$(this).find('input').on('click', function(e){
				checkSelectBtn();
			});
		});
	}
	
	/*********************************
	 *前ページ選択されたものをチェックさせる
	 *********************************/
	$('input[name^=this_params]').each(function(){
		if($(this).attr('name').indexOf('target_') > 0){
			var id = $(this).val();
			$('input[id=' + id + ']').prop('checked', true);
			checkSelectBtn();
		}
	});
	
	/* モーダル 位置
	----------------------------------- */
	function modalPosition() {
		$('.btn_right').find('a.modal_link').on('click', function(e){
			var _id = $(this).attr('href'),
				_st = $(window).scrollTop(),
				_wh = $(window).height(),
				_ch = $(_id).height();
			if (_wh > _ch) {
				$(_id).css({ 'top': _st + (_wh-_ch)*0.5 });
			} else {
				$(_id).css({ 'top': _st + 20 });
			};
		});
	};
	
	
	function submit(action, method, values) {
 	   var form = $('<form/>', {
	        action: action,
	        method: method
	    });
	    $.each(values, function() {
	        form.append($('<input/>', {
	            type: 'hidden',
	            name: this.name,
	            value: this.value
	        }));    
	    });
	    form.appendTo('body').submit();
	}
	
	$(".mod_btn_all").click(function() {
		var id = $(this).attr('id');
		
		//【B-3】からの検索ボタン
		if(id == undefined || id == ''){
			var items=[{name:'search_type',value:'line'}];
			items.push({name:'page',value:'config'});
			var c = 0;
			$('.box_check input').each(function(index){
				if ($(this).prop('checked')) {
					c++;
					items.push({name:'target_'+c,
					    value:$(this).attr("id")});
				}
			});
			if (c > 0) submit('/sp/rstobi/rstobi','POST',items);
		}	
		
		//【B-12】からの検索ボタン
		else{
			var items=[];
			var form = document.forms[0];
			for (var i=0; i<form.length; i++){
				if (form[i].name.match(/^this_params\[(.+)\]\[(.+)\]$/, "$1[$2]")) {
					var name = form[i].name.replace(/^this_params\[(.+)\]\[(.+)\]$/, "$1[$2]");
					if(name.indexOf('target') < 0){
						items.push({name:name,value:form[i].value});
					}					
				} 
				else if (form[i].name.match(/^this_params\[(.+)\]$/, "$1")) {
					var name = form[i].name.replace(/^this_params\[(.+)\]$/, "$1");
					if(name.indexOf('target') < 0){
						items.push({name:name,value:form[i].value});
					}
				}			
			}
			var c = -1;
			$('.box_check input').each(function(index){
				if ($(this).prop('checked')) {
					c++;
		            var area_id = $(this).attr("id");
					items.push({name:'target_'+c, value:area_id});
				}
			});
			items.push({name:'page',value:'config'});
			//console.dir(items);
			submit('/sp/rstobi/rstobi','POST',items);
		}
	});

	$('#liChangeLine a').on('click', function(){
		var items=[];
		var form = document.forms[0];
		for (var i=0; i<form.length; i++){
			if (form[i].name.match(/^this_params\[(.+)\]\[(.+)\]$/, "$1[$2]")) {
				var name = form[i].name.replace(/^this_params\[(.+)\]\[(.+)\]$/, "$1[$2]");
				if(name.indexOf('target') < 0){
					items.push({name:name,value:form[i].value});
				}					
			} 
			else if (form[i].name.match(/^this_params\[(.+)\]$/, "$1")) {
				var name = form[i].name.replace(/^this_params\[(.+)\]$/, "$1");
				if(name.indexOf('target') < 0){
					items.push({name:name,value:form[i].value});
				}
			}			
		}
		area_id = $(this).attr("id");
		items.push({name:'target_0', value:area_id});
		
		items.push({name:'page',value:'config'});
		//console.dir(items);
		submit('/sp/area/ekichange','POST',items);
	});
	
	//----------------------------------
	//乗り換えるクリック
	$('.btn_right a.modal_link').on('click', function(e){
		e.preventDefault();
		
		$('#pTransfer').html('<strong>' + $(this).attr('name') + '</strong>からの乗り換え');
		
		//都道府県名前取得
		var renName = $(this).parent().attr('name').substring(3);
		
		//違う都道府県→非表示
		$('#modal_line1').find('div.box_expand_inner').each(function(){
			$(this).show();
			var secName = $(this).attr('name').substring(3);
			if(renName != secName) $(this).hide();	//違う都道府県→非表示	
		});
		
		//乗り換える沿線
		var transferList = e.target.id;
		
		//クリックされた駅の乗り換える路線じゃないと→非表示
		$('#modal_line1').find('div.box_expand_inner').each(function(){
			
			if($(this).css('display') == 'none') return;
			
			var childCount = $(this).find('li[name=ekicheck]').length;
			//路線ループ
			var count = 0;
						
			$(this).find('li[name=ekicheck]').each(function(){
				var id =$(this).attr('id');
				if(transferList.indexOf(id) < 0){
					$(this).hide();
					count += 1;
				}
				else{
					$(this).show();
				}
			});
			
			//すべて路線非表示→会社も非表示
			if(count == childCount) $(this).hide();				
			else $(this).show();
			//すべて路線非表示→会社も非表示
			
		});					
		
		//$('html,body').stop().animate({ scrollTop: 0 }, 1 );			
		//show();
	});

	
	/* 実行
	----------------------------------- */
	$(function() {
		setSelectBtn();
		checkSelectBtn();
		modalPosition();
	});

})(this, document);
